package com.bookmall.product.domain.vo;

import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 主页购物车显示数据Vo
 * @Author 胡菜鸡
 * @Create 2022-04-28-17:42
 */
@Data
@ToString
public class CartInfoVo implements Serializable {
    /** 商品项 */
    private List<CartItemVo> items;

    /** 没有登录时的显示信息 */
    private String failReason;

    /**
     * 获取购物车商品总数量
     * @author 胡菜鸡
     * @date 2022/4/28 18:06
     */
    public Integer getCartTotalCount(){
        int count = 0;
        for (CartItemVo item : this.items) {
            count += item.getCount();
        }
        return count;
    }

    /**
     * 获取购物车商品类型总数
     * @author 胡菜鸡
     * @date 2022/4/28 18:06
     */
    public Integer getCartTotalTypeCount(){
        return this.items.size();
    }

    /**
     * 获取购物车商品总价格
     * @author 胡菜鸡
     * @date 2022/4/28 18:07
     */
    public BigDecimal getCartTotalPrice(){
        BigDecimal price = new BigDecimal("0.00");
        for (CartItemVo item : this.items) {
            price = price.add(item.getPrice());
        }
        return price;
    }
}
